<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>
        // 基本数据类型(传值)  栈内存的数据
        // 定义字符串(值)
        var width = "100px";
        // 涉及变量的赋值(复制)
        var w = width;// 传值
        w = "200px";
        console.log(width);// 100px
        console.log(w);// 200px

        // 基本数据类型,变量赋值过后,新的变量怎么修改,都不影响原来的变量

        // 引用数据类型 (传地址) 堆内存的数据
        // 定义对象(地址)
        var obj = {width: "100px"}
        // 定义新对象
        var opt = obj;// 把obj赋地址给opt(传地址)
        console.log(opt);
        opt.width = "300px";// 新对象的数据修改了,会影响到原来对象的数据
        console.log(obj);// {width: "300px"}
        // console.log(width === obj.width);// true
        // 引用数据类型,数据集合被复制之后,新集合的数据被修改了,会影响到原来集合的数据

       

        var width = "100px";
        var w = width ;
        console.log(w);
        w = "300px";
        console.log(width);
        console.log(w);

        var she = {obj:"100px"};
        var he = she ;
        console.log(he);
        he.obj= "400px";
        console.log(she);


    </script>
</body>
</html>